A fundamental type of digital to analog (D/A) data converter is a Nyquist-type data converter. The Nyquist-type converter inputs digital data into the converter at a Nyquist frequency of twice the frequency of the digital data signal being converted and has a fixed frequency bandwith which is proportional to the converter's operating frequency. The Nyquist-type converter is based on the principal that two samples per cycle will completely characterize a band-limited signal. However, Nyquist-type converters are often implemented with a sampling rate of numerous times higher than the highest input signal frequency (e.g. five to ten times higher). For every doubling in sampling rate of the Nyquist frequency, a reduction of three decibels in signal-to-noise ratio is provided as a result of extending the frequency bandwidth of the converter. To obtain even less noise in a converter output signal, oversampling converters have been implemented by operating at many multiples of the Nyquist frequency. A tradeoff between amount and speed of circuitry and the amount of oversampling exists.
Digital to analog (D/A) converters of the Nyquist type are commonly implemented with a plurality of similar type components, such as resistors, current sources, or capacitors. For example, a well known type of D/A converter utilizes a capacitor array wherein a digital code is encoded into the array by selectively charging predetermined capacitors. The total stored charge is redistributed to provide an analog output voltage. When each capacitor in a capacitor array has the same value, the capacitive digital to analog converter is said to be monotonic. To implement an N-bit capacitive monotonic converter requires (2.sup.N -1) capacitors, where N is an integer. Component value variations which collectively occur from one end of a capacitor array to another end, representing a sum of all individual variations between adjacent or successive components, form a total linearity error of the digital to analog converter. The linearity error manifests itself in the frequency domain in the form of discrete signal-to-distortion error components at harmonic frequencies of the signal frequency. Because component value matching is a fundamental process limitation, techniques to compensate for linearity errors in a data converter are typically required. For example, as a result of process limitations to repeatedly form precise component values, the output linearity is typically limited to approximately ten bits of resolution in existing capacitive digital-to-analog converters. Unfortunately, the oversampling performed in oversampled data converters reduces quantization noise but has no effect on linearity errors.
To compensate for output linearity problems in digital-to-analog converters having a plurality of components with pre-defined values, others have used calibration techniques to adjust each component value relative to a reference value. The calibration techniques typically require a hardware calibration circuit which requires additional circuit area and an operating cycle during which the calibration occurs.
Another known nonlinearity correction technique in digital-to-analog converters, such as capacitor array converters, is to randomize the switching order of the capacitors in the capacitor array. The randomization of component switching reduces the effects of nonequal component values. Randomized component switching changes the nonlinearity error from noticeable signal-to-distortion errors having components at the harmonic frequencies in the frequency bandwidth to random white noise error which is spread out thru the frequency bandwidth. Therefore, the randomization of component switching has a greater performance impact in a highly oversampled data converter having a greater frequency bandwidth as opposed to a converter operating at the Nyquist frequency with a shorter frequency bandwidth.
In order to accomplish the random switching in a converter having a plurality of components, such as a capacitor array, others have implemented logic circuitry to provide control signals which randomly switch the capacitors in the capacitor array. The size associated with known random number generators which may be used to implement the known randomization technique typically prohibits the use of this alternative in large scale integration semiconductor devices. Also, random number generators which are implemented are not truly random because the generators have a finite number of possible outputs which are generated. Because only a pseudo-random number generator is physically possible to implement, not all of the nonlinearity is converted from signal-to-distortion error to noise error.
Another type of oversampling data converter, which is not considered a Nyquist data converter, is referred to as a sigma delta data converter. Sigma delta data converters perform frequency oversampling but use noise shaping techniques which are fundamentally distinguishable from Nyquist sampling theory. Sigma delta data converters also use fixed component values which introduce nonlinearity output errors when the values are not exact. Random switching of the components has also been implemented in sigma delta data converters to convert nonlinearity errors into white noise which is spread out over the entire frequency bandwidth. However, a significant amount of converted white noise remains in the passband portion of the frequency bandwidth.